home *** CD-ROM | disk | FTP | other *** search
- """MovieInWindow converted to python
-
- Jack Jansen, CWI, December 1995
- """
-
- import Qt
- import QuickTime
- import Qd
- import QuickDraw
- import Evt
- import Events
- import Win
- import Windows
- import macfs
- import sys
-
-
- def main():
- # skip the toolbox initializations, already done
- # XXXX Should use gestalt here to check for quicktime version
- Qt.EnterMovies()
-
- # Get the movie file
- fss, ok = macfs.StandardGetFile(QuickTime.MovieFileType)
- if not ok:
- sys.exit(0)
-
- # Open the window
- bounds = (175, 75, 175+160, 75+120)
- theWindow = Win.NewCWindow(bounds, fss.as_tuple()[2], 1, 0, -1, 0, 0)
- Qd.SetPort(theWindow)
- # XXXX Needed? SetGWorld((CGrafPtr)theWindow, nil)
-
- playMovieInWindow(theWindow, fss, theWindow.GetWindowPort().portRect)
-
- def playMovieInWindow(theWindow, theFile, movieBox):
- """Play a movie in a window"""
- # XXXX Needed? SetGWorld((CGrafPtr)theWindow, nil);
-
- # Get the movie
- theMovie = loadMovie(theFile)
-
- # Set where we want it
- theMovie.SetMovieBox(movieBox)
-
- # Start at the beginning
- theMovie.GoToBeginningOfMovie()
-
- # Give a little time to preroll
- theMovie.MoviesTask(0)
-
- # Start playing
- theMovie.StartMovie()
-
- while not theMovie.IsMovieDone() and not Evt.Button():
- theMovie.MoviesTask(0)
-
- def loadMovie(theFile):
- """Load a movie given an fsspec. Return the movie object"""
- movieResRef = Qt.OpenMovieFile(theFile, 1)
- movie, dummy = Qt.NewMovieFromFile(movieResRef, QuickTime.newMovieActive)
- return movie
-
- if __name__ == '__main__':
- main()
-
-